package com.shuang.tree18;

import java.util.LinkedList;
import java.util.Queue;

public class MaxDepth {

    //最大的深度就是二叉树的层数
    public int maxDepth(TreeNode root) {

        if (root == null)
            return 0;

        Queue<TreeNode> que = new LinkedList<>();

        que.offer(root);

        int depth = 0;

        while (!que.isEmpty()) {

            int len = que.size();

            while (len > 0) {

                TreeNode node = que.poll();

                if (node.left != null)
                    que.offer(node.left);

                if (node.right != null)
                    que.offer(node.right);

                len--;
            }

            //每次循环一层 深度加一
            depth++;
        }

        return depth;
    }
}
